你一定得认识到自己想往哪个方向发展,然后一定要对准那个方向出发,要马上。你再也浪费不起多一秒的时间了,你浪费不起。 ——塞林格《麦田里的守望者》
原理
vim编辑器中的swp即swap文件,在编辑文件时产生,它是隐藏文件,如果编辑文件时正常退出,则这个临时缓存文件会自动删除,如果终端意外关闭未正常退出,则这个临时缓存文件会被保存,用于记录上次文件修改信息。
以 index.php
为例:
第一次产生的交换文件名为 .index.php.swp
再次意外退出后,将会产生名为 .index.php.swo
的交换文件
第三次产生的交换文件则为 .index.php.swn
第四次产生的交换文件则为 .index.php.swm
依次类推…
因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容。恢复命令为:1
vim -r index.php (自动搜索并使用临时文件来恢复index.php)
演示
我在编写flag文件
时强制关闭终端不对文件进行保存,再次打开flag文件
时出现提示:
例如,我在编写flag文件
时强制关闭终端不对文件进行保存,再次打开flag文件
时出现提示:
查看.flag.swp文件
可以看到我之前编写的内容:
这个临时文件要及时删除,防止被黑客利用。在ctf赛题中,这也是会考察的一个点。
除此之外vim还会产生一个备份文件,例如index.php
的备份文件为index.php~